home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / dviware / quicspool / wwfonts / titalig.mf < prev    next >
Text File  |  1990-10-01  |  10KB  |  207 lines

  1. % $Header: titalig.mf,v 1.1 88/01/15 13:14:56 simpson Rel $
  2. % $Log:    titalig.mf,v $
  3. %Revision 1.1  88/01/15  13:14:56  simpson
  4. %initial release
  5. %
  6. %Revision 0.1  87/12/11  19:01:31  simpson
  7. %beta test
  8. %
  9. % This file describes five italic ligatures that begin with `f'
  10. % and puts them in code positions \0013--\0017.
  11.  
  12. numeric itc; % modified italic correction on `f' and `ff'
  13. itc=(asc_height#-x_height#)*slant+.75u#;
  14.  
  15. ligtable "f": "i"=:oct"001", "f"=:oct"003", "l"=:oct"002",
  16.  "?" kern itc, "!" kern itc, ")" kern itc, "]" kern itc;
  17. ligtable oct"003": "i"=:oct"011", "l"=:oct"012",
  18.  "?" kern itc, "!" kern itc, ")" kern itc, "]" kern itc;
  19.  
  20. cmchar "Italic ligature ff";
  21. beginchar(oct"003",5u#+max(1.5u#,stem#)+max(3.5u#,2flare#)+2letter_fit#,
  22.  asc_height#,desc_depth#);
  23. italcorr asc_height#*slant+.75u#;
  24. adjust_fit(0,0); pickup fine.nib;
  25. z98-z88=z99-z89=z14-z4=z15-z5=(4.8u+2letter_fit,0);
  26. .5[x88,x99]=.5w-.1u; x89-x88=u; y98=h; y99=-d;
  27. numeric theta; theta=angle(z88-z89);
  28. pos0(flare,0); pos1(hair,0); pos2(vair,90);
  29. pos3(.5[hair,stem],180); pos4(stem,theta+90);
  30. pos5(stem,theta-90); pos6(.5[hair,stem],0);
  31. pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
  32. rt x1r=hround(.5w+1.25u); lft x8r=hround-.35u; x2=.5[x1,x4]; x7=.6[x8,x5];
  33. y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
  34. y4=.25[x_height,h]; y5=.5[-d,y4];
  35. z4=whatever[z88,z89]; z5=whatever[z88,z89];
  36. x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
  37. bulb(2,1,0); bulb(7,8,9);  % left bulbs
  38. filldraw stroke z2e{left}...z3e...{z89-z88}z4e;  % upper middle arc
  39. filldraw z4r--z5l--z5r--z4l--cycle;  % left stem
  40. filldraw stroke z5e{z89-z88}...z6e...{left}z7e;  % lower left arc
  41. pos10(flare,0); pos11(hair,0); pos12(vair,90);
  42. pos13(.5[hair,stem],180); pos14(stem,theta+90);
  43. pos15(stem,theta-90); pos16(.5[hair,stem],0);
  44. pos17(vair,-90); pos18(hair,-180); pos19(flare,-180);
  45. rt x11r=hround(w+.25u); lft x18r=hround(.5w-1.25u);
  46. x12=.6[x11,x14]; x17=.5[x18,x15];
  47. x13=.8[x12+x14-x98,x98]; x16=.8[x17+x15-x99,x99];
  48. y0=y10; y2=y12; y3=y13; y6=y16; y7=y17; y9=y19;
  49. bulb(12,11,10); bulb(17,18,19);  % right bulbs
  50. filldraw stroke z12e{left}...z13e...{z99-z98}z14e;  % upper right arc
  51. filldraw z14r--z15l--z15r--z14l--cycle;  % right stem
  52. filldraw stroke z15e{z99-z98}...z16e...{left}z17e;  % lower middle arc
  53. pickup crisp.nib; pos20(bar,90); pos21(bar,90);
  54. top y20r=top y21r=x_height;
  55. lft x20=lft x4r-.5stem-u; rt x21=rt x14l+.5stem+1.5u;
  56. filldraw stroke z20e--z21e;  %  crossbar
  57. penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,
  58.  20,21,88,89,98,99); endchar;
  59.  
  60. cmchar "Italic ligature fi";
  61. beginchar(oct"001",6.5u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)
  62.  +2letter_fit#,asc_height#,desc_depth#);
  63. italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
  64. adjust_fit(0,0); pickup fine.nib;
  65. .5[x88,x89]=.5(w-4u-2letter_fit); x89-x88=u; y88=h; y89=-d;
  66. numeric theta; theta=angle(z88-z89);
  67. pos0(flare,0); pos1(hair,0); pos2(vair,90);
  68. pos3(.5[hair,stem],180); pos4(stem,theta+90);
  69. pos5(stem,theta-90); pos6(.5[hair,stem],0);
  70. pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
  71. pos11(stem,0); rt x11r=hround(w-2.5u+.5stem);
  72. x12=x11; x14=w; hook_out(12,13,14);  % closing hook
  73. x1r=x11r; lft x8r=hround-.35u; x2=.5[x1,x4]; x7=.6[x8,x5];
  74. y9-.5flare=vround-.85d; bot y7r=-d-oo;
  75. y0+.5flare=vround(.85[x_height,h]); top y2r=h+oo;
  76. y4=.25[x_height,h]; y5=.5[-d,y4];
  77. z4=whatever[z88,z89]; z5=whatever[z88,z89];
  78. x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
  79. bulb(2,1,0); bulb(7,8,9);  % bulbs
  80. filldraw stroke z2e{left}...z3e...{z89-z88}z4e;  % upper arc
  81. filldraw z4r--z5l--z5r--z4l--cycle;  % left stem
  82. filldraw stroke z5e{z89-z88}...z6e...{left}z7e;  % lower arc
  83. top y11=x_height; filldraw stroke z11e--z12e;  % right stem
  84. pickup crisp.nib; pos20(bar,90); pos21(bar,90);
  85. top y20r=top y21r=x_height;
  86. lft x20=lft x4r-.5stem-u; x21=x11;
  87. filldraw stroke z20e--z21e;  %  crossbar
  88. penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,20,21,88,89); endchar;
  89.  
  90. cmchar "Italic ligature fl";
  91. beginchar(oct"002",7u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)
  92.  +2letter_fit#,asc_height#,desc_depth#);
  93. italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
  94. adjust_fit(0,0); pickup fine.nib;
  95. .5[x88,x89]=.5(w-4.5u-2letter_fit); x89-x88=u; y88=h; y89=-d;
  96. numeric theta; theta=angle(z88-z89);
  97. pos0(flare,0); pos1(hair,0); pos2(vair,90);
  98. pos3(.5[hair,stem],180); pos4(stem,theta+90);
  99. pos5(stem,theta-90); pos6(.5[hair,stem],0);
  100. pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
  101. pos11(stem,0); rt x11r=hround(w-2.5u+.5stem); rt x1r=lft x11l;
  102. x12=x11; x14=w; hook_out(12,13,14);  % closing hook
  103. lft x8r=hround-.35u; x2=.5[x1,x4]; x7=.6[x8,x5];
  104. y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
  105. y4=.25[x_height,h]; y5=.5[-d,y4];
  106. z4=whatever[z88,z89]; z5=whatever[z88,z89];
  107. x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
  108. bulb(2,1,0); bulb(7,8,9);  % bulbs
  109. filldraw stroke z2e{left}...z3e...{z89-z88}z4e;  % upper arc
  110. filldraw z4r--z5l--z5r--z4l--cycle;  % left stem
  111. filldraw stroke z5e{z89-z88}...z6e...{left}z7e;  % lower arc
  112. top y11=h; filldraw stroke z11e--z12e;  % right stem
  113. pickup crisp.nib; pos20(bar,90); pos21(bar,90);
  114. top y20r=top y21r=x_height;
  115. lft x20=lft x4r-.5stem-u; x21=x11;
  116. filldraw stroke z20e--z21e;  %  crossbar
  117. penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,20,21,88,89); endchar;
  118.  
  119. cmchar "Italic ligature ffi";
  120. beginchar(oct"011",11.75u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)
  121.  +4letter_fit#,asc_height#,desc_depth#);
  122. italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
  123. adjust_fit(0,0); pickup fine.nib;
  124. z98-z88=z99-z89=z14-z4=z15-z5=(5u+2letter_fit,0);
  125. numeric theta,mid_f;
  126. mid_f=.5[x88,x99]=.5(w-4.25u-2letter_fit); x89-x88=u;
  127. y98=h; y99=-d; theta=angle(z88-z89);
  128. pos21(stem,0); rt x21r=hround(w-2.5u+.5stem);
  129. x22=x21; x24=w; hook_out(22,23,24);  % closing hook
  130. pos0(flare,0); pos1(hair,0); pos2(vair,90);
  131. pos3(.5[hair,stem],180); pos4(stem,theta+90);
  132. pos5(stem,theta-90); pos6(.5[hair,stem],0);
  133. pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
  134. rt x1r=hround(mid_f+1.75u); lft x8r=hround-.35u;
  135. x2=.5[x1,x4]; x7=.6[x8,x5];
  136. y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
  137. y4=.25[x_height,h]; y5=.5[-d,y4];
  138. z4=whatever[z88,z89]; z5=whatever[z88,z89];
  139. x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
  140. bulb(2,1,0); bulb(7,8,9);  % left bulbs
  141. filldraw stroke z2e{left}...z3e...{z89-z88}z4e;  % upper middle arc
  142. filldraw z4r--z5l--z5r--z4l--cycle;  % left stem
  143. filldraw stroke z5e{z89-z88}...z6e...{left}z7e;  % lower left arc
  144. pos10(flare,0); pos11(hair,0); pos12(vair,90);
  145. pos13(.5[hair,stem],180); pos14(stem,theta+90);
  146. pos15(stem,theta-90); pos16(.5[hair,stem],0);
  147. pos17(vair,-90); pos18(hair,-180); pos19(flare,-180);
  148. x11r=x21r; lft x18r=hround(mid_f-1.25u); x12=.5[x11,x14]; x17=.5[x18,x15];
  149. x13=.8[x12+x14-x98,x98]; x16=.8[x17+x15-x99,x99];
  150. y10+.5flare=vround .85[x_height,h];
  151. y2=y12; y3=y13; y6=y16; y7=y17; y9=y19;
  152. bulb(12,11,10); bulb(17,18,19);  % right bulbs
  153. filldraw stroke z12e{left}...z13e...{z99-z98}z14e;  % upper right arc
  154. filldraw z14r--z15l--z15r--z14l--cycle;  % middle stem
  155. filldraw stroke z15e{z99-z98}...z16e...{left}z17e;  % lower middle arc
  156. top y21=x_height; filldraw stroke z21e--z22e;  % right stem
  157. pickup crisp.nib; pos30(bar,90); pos31(bar,90);
  158. top y30r=top y31r=x_height;
  159. lft x30=lft x4r-.5stem-u; x31=x21;
  160. filldraw stroke z30e--z31e;  %  crossbar
  161. penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,
  162.  20,21,22,23,24,30,31,88,89,98,99); endchar;
  163.  
  164. cmchar "Italic ligature ffl";
  165. beginchar(oct"012",12u#+.5max(1.5u#,stem#)+.5max(3.5u#,2flare#)
  166.  +4letter_fit#,asc_height#,desc_depth#);
  167. italcorr max(asc_height#*slant+.5stem#-2u#,1/3x_height#*slant+.5hair#+.5u#);
  168. adjust_fit(0,0); pickup fine.nib;
  169. z98-z88=z99-z89=z14-z4=z15-z5=(5u+2letter_fit,0);
  170. numeric theta,mid_f;
  171. mid_f=.5[x88,x99]=.5(w-4.5u-2letter_fit); x89-x88=u;
  172. y98=h; y99=-d; theta=angle(z88-z89);
  173. pos21(stem,0); rt x21r=hround(w-2.5u+.5stem);
  174. x22=x21; x24=w; hook_out(22,23,24);  % closing hook
  175. pos0(flare,0); pos1(hair,0); pos2(vair,90);
  176. pos3(.5[hair,stem],180); pos4(stem,theta+90);
  177. pos5(stem,theta-90); pos6(.5[hair,stem],0);
  178. pos7(vair,-90); pos8(hair,-180); pos9(flare,-180);
  179. rt x1r=hround(mid_f+1.25u); lft x8r=hround-.35u;
  180. x2=.5[x1,x4]; x7=.6[x8,x5];
  181. y9-.5flare=vround -.85d; y2-y0=y9-y7; top y2r=h+oo; bot y7r=-d-oo;
  182. y4=.25[x_height,h]; y5=.5[-d,y4];
  183. z4=whatever[z88,z89]; z5=whatever[z88,z89];
  184. x3=.8[x2+x4-x88,x88]; x6=.8[x7+x5-x89,x89]; y3=.8[y4,y2]; y6=.8[y5,y7];
  185. bulb(2,1,0); bulb(7,8,9);  % left bulbs
  186. filldraw stroke z2e{left}...z3e...{z89-z88}z4e;  % upper middle arc
  187. filldraw z4r--z5l--z5r--z4l--cycle;  % left stem
  188. filldraw stroke z5e{z89-z88}...z6e...{left}z7e;  % lower left arc
  189. pos10(flare,0); pos11(hair,0); pos12(vair,90);
  190. pos13(.5[hair,stem],180); pos14(stem,theta+90);
  191. pos15(stem,theta-90); pos16(.5[hair,stem],0);
  192. pos17(vair,-90); pos18(hair,-180); pos19(flare,-180); rt x11r=lft x21l;
  193. lft x18r=hround(mid_f-1.25u); x12=.5[x11,x14]; x17=.5[x18,x15];
  194. x13=.8[x12+x14-x98,x98]; x16=.8[x17+x15-x99,x99];
  195. y0=y10; y2=y12; y3=y13; y6=y16; y7=y17; y9=y19;
  196. bulb(12,11,10); bulb(17,18,19);  % right bulbs
  197. filldraw stroke z12e{left}...z13e...{z99-z98}z14e;  % upper right arc
  198. filldraw z14r--z15l--z15r--z14l--cycle;  % middle stem
  199. filldraw stroke z15e{z99-z98}...z16e...{left}z17e;  % lower middle arc
  200. top y21=h; filldraw stroke z21e--z22e;  % right stem
  201. pickup crisp.nib; pos30(bar,90); pos31(bar,90);
  202. top y30r=top y31r=x_height;
  203. lft x30=lft x4r-.5stem-u; x31=x21;
  204. filldraw stroke z30e--z31e;  %  crossbar
  205. penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,
  206.  20,21,22,23,24,30,31,88,89,98,99); endchar;
  207.